<?php
/**
 * Created by PhpStorm.
 * User: W
 * Date: 2018/12/6
 * Time: 10:20
 */

namespace app\sports_admin\controller;
use think\Request;

use OSS\OssClient;
use OSS\Core\OssException;
use think\Config;

set_time_limit(0);
class Common
{
    //上传图片
    public function img()
    {
        //获取表单上传文件
        $file = request()->file('file');
        //获取文件存储路径
        $path = request()->post('path');
        if($file){
            $info = $file->move(ROOT_PATH."$path");
            if($info){
                //上传成功后返回路径
                return json(['img'=>$info->getSaveName(),'code'=>'0']);
            }else{
                // 上传失败获取错误信息
                return json(['error'=>$file->getError()]);
            }
        }
    }
    //视频上传
    public function video()
    {
        $scr = $_FILES['file']['tmp_name'];
        $ext = substr($_FILES['file']['name'],strrpos($_FILES['file']['name'],'.')+1); // 上传文件后缀
        $dst = md5(time()).'-'.$scr.'.'.$ext;     //上传文件名称
        // $this->load->library('AliUpload');
        $url = $this->aLiYun($dst,$scr);
        return json(['video'=>$url,'code'=>'0']);
    }
    /*
     * 阿里云上传视频
     * @param $dst 文件名
     * @param $src 临时文件名
     */
    public function aLiYun($dst,$src)
    {
        $aLiYunOss =  Config::get("aLiYunOss");
        $auth = new OssClient($aLiYunOss['key_id'],$aLiYunOss['key_secret'],$aLiYunOss['endPoint']);
        try {
            //上传图片
            $result  = $auth->uploadFile($aLiYunOss['bucket'],$dst,$src);
            return $result['info']['url'];
        } catch (OssException $e) {
            return $e->getMessage();
        }
    }
    //体育资讯信息 layui文本编辑器 图片上传
    public function imgLayui()
    {
        //获取表单上传文件
        $file = request()->file('file');
        //获取文件存储路径
        $path = '/public/uploads/news/img/';
        if($file){
            $info = $file->move(ROOT_PATH."$path");
            $route= $info->getSaveName();
            if($info){
                //上传成功后返回路径
                return json([
                    'code'=>'0',
                    "data"=>[
                        "src"=>'/uploads/news/img/'.$route,
                    ]
                ]);
            }else{
                // 上传失败获取错误信息
                return json(['error'=>$file->getError()]);
            }
        }
    }

    public function notice()
    {
        //获取表单上传文件
        $file = request()->file('file');
        $imgUrl = Config::get('imgUrl');
        //获取文件存储路径
        $path = '/public/uploads/notice/img/';
        if($file){
            $info = $file->move(ROOT_PATH."$path");
            $route= $info->getSaveName();
            if($info){
                //上传成功后返回路径
                return json([
                    'code'=>'0',
                    "data"=>[
                        "src"=>$imgUrl['url'].'/uploads/notice/img/'.$route,
                    ]
                ]);
            }else{
                // 上传失败获取错误信息
                return json(['error'=>$file->getError()]);
            }
        }
    }
    //培训机构封面图上传
    public function upload_train_img()
    {
        //获取表单上传文件
        $file = request()->file('file');
        //获取文件存储路径
        $path = '/public/uploads/train/img/';
        if($file){
            $info = $file->move(ROOT_PATH."$path");
            $route= $info->getSaveName();
            if($info){
                //上传成功后返回路径
                return json([
                    'code'=>200,
                    "src"=>'/uploads/train/img/'.$route,
                    'msg'=>'上传成功'
                ]);
            }else{
                // 上传失败获取错误信息
                return json(['error'=>$file->getError(),'errorCode'=>400]);
            }
        }
    }

}